\section{Architecture}
We use the architecture similar to the ones used in
most modern large-scale storage systems
[xfs,AFS,GFS/HDFS,Bigtable/HBase/Azure,Farsite,Spanner,FDS, ...]:
there is one or a small number
of meta servers providing a consistent namespace and a large
number of data servers storing data; a client replicates data to or
reads data from data servers directly; meta servers are not on the critical path.
This architecture brings together good scalability, well-defined consistency,
and simplicity.

Different from existing systems, we incorporate three novel ideas to
enhance the robustness without hurting scalability: ....

